Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

114
Visualizações
Encuentre detalles de usuario por ID en nodos de objetos anidados | javascript

Cómo encontrar el nombre usando id. significa iterar objeto. crear una función const searchName =()=>{} supongamos que si pasa 3 en la función, entonces me gustaría mostrar ... cuál es el nombre del usuario como este

 const data = [{ "service": [ "BUSINESS", "LEGAL", "FINANCE", "ADVERTISEMENT" ], "service1": [ { "id": 1, "name": "a" }, { "id": 2, "name": "b" }, { "id": 3, "name": "c" }, { "id": 4, "name": "d" }, ], "service2": [ { "id": 5, "name": "e" }, { "id": 6, "name": "f" }, { "id": 7, "name": "g" }, { "id": 8, "name": "h" }, ], "service3": [ { "id": 9, "name": "i" }, { "id": 10, "name": "j" }, { "id": 11, "name": "k" }, { "id": 12, "name": "l" }, ], "service4": [ { "id": 13, "name": "m" }, { "id": 14, "name": "n" }, { "id": 15, "name": "o" }, { "id": 16, "name": "p" }, ], } ]

supongamos que el usuario pasa 3 , así que quiero devolver { "id": 3, "name": "c" } así. Estoy tratando de iterar esto y encontrar el nombre del usuario por id, pero no entendí esta iteración, así que necesito su ayuda.

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

verifique este código.... Ingrese cualquier número de identificación

 const data = [{ "service": [ "BUSINESS", "LEGAL", "FINANCE", "ADVERTISEMENT" ], "service1": [ { "id": 1, "name": "a" }, { "id": 2, "name": "b" }, { "id": 3, "name": "c" }, { "id": 4, "name": "d" }, ], "service2": [ { "id": 5, "name": "e" }, { "id": 6, "name": "f" }, { "id": 7, "name": "g" }, { "id": 8, "name": "h" }, ], "service3": [ { "id": 9, "name": "i" }, { "id": 10, "name": "j" }, { "id": 11, "name": "k" }, { "id": 12, "name": "l" }, ], "service4": [ { "id": 13, "name": "m" }, { "id": 14, "name": "n" }, { "id": 15, "name": "o" }, { "id": 16, "name": "p" }, ], }] var itemobj = '' const searchName =(val)=>{ console.log('searchname') data.map((item)=>{ let obj = Object.keys(item) obj.map((data)=>{ let inrdata = item[data] inrdata.map((initem)=>{ let lastdata = initem.id===val?itemobj=initem:null }) }) }) } searchName(3) console.log(itemobj)

about 4 years ago · Juan Pablo Isaza Relatório

0

function searchName(id) { let result = null; for (const [key, value] of Object.entries(data)) { if (key === "service") continue result = value.filter(obj => { return obj.id === id }) if (result) break } return result ? result[0] : null }

Repaso las claves, solo omito la de "servicio" ya que no es relevante. Luego, filtro la matriz "servicio N ", devolverá una matriz de objetos (solo uno si se encuentra, una matriz vacía si no se encuentra).

Si se encuentra, dejamos de iterar.

Luego devolvemos el primer (y lógicamente el único elemento) o nulo si no se encuentra

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar una combinación de flat y find para obtener el usuario por id.

 function searchName(id) { return data .flatMap((item) => Object.values(item)) .flat() .find((user) => user.id === id); } const result = searchName(3); // { id: 3, name: 'c' } | undefined
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda